1. Field of the Invention
In general, aspects of the present invention provide an extensible dependency management framework and method. Specifically, the present invention provides an extensible framework for managing changes to interdependent resources.
2. Related Art
In an interdependent environment, change comes at the expense of consequential ripple effects. Today's complex software, especially in object-oriented form, is composed of highly interdependent components that interact on various levels in sometimes unpredictable ways, leaving the scope of change-triggered ripple effects unrestricted. Such software systems suffer from high maintenance costs when a change in one of their components is required, since dependent components may, in turn, need to be updated in order to maintain the integrity of the system. This creates a complex cause-and-effect chain of events that could render a system unusable if not managed properly.
Specific solutions to the dependency management problem do currently exist, in the form of highly specialized mechanisms that deal with specific types of resources or changes (e.g. Java™ code refactoring). Java and all Java-related trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Drawbacks of such solutions lie in their specificity and lack of extensibility. Furthermore, known solutions provide one-level of dependency management. In other words, updates are made only to direct dependents when a change is made and not to indirect dependents in an iterative manner.